package com.yupi.springbootinit.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yupi.springbootinit.model.entity.SalesOrderItem;

import java.util.List;

/**
 * 订单明细服务接口
 */
public interface SalesOrderItemService extends IService<SalesOrderItem> {

    /**
     * 根据订单ID查询明细列表
     */
    List<SalesOrderItem> getByOrderId(Long orderId);

    /**
     * 根据订单号查询明细列表
     */
    List<SalesOrderItem> getByOrderNumber(String orderNumber);

    /**
     * 批量查询订单明细（解决N+1问题）
     */
    List<SalesOrderItem> getByOrderIds(List<Long> orderIds);

    /**
     * 批量保存明细
     */
    boolean saveBatchItems(List<SalesOrderItem> items);

    /**
     * 软删除订单的所有明细
     */
    boolean deleteByOrderId(Long orderId);

    /**
     * 更新订单明细（先删除后新增）
     */
    boolean updateOrderItems(Long orderId, String orderNumber, List<SalesOrderItem> items);
}